<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>接口自动化报告</title>
    <meta name="generator" content="HTMLTestRunner 0.8.3"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    
<style type="text/css" media="screen">
body        { font-family: verdana, arial, helvetica, sans-serif; font-size: 80%; }
table       { font-size: 100%; }
pre  { 
    white-space: pre-wrap;
    word-wrap: break-word;
}
/* -- heading ---------------------------------------------------------------------- */
h1 {
	font-size: 16pt;
	color: gray;
}
.heading {
    margin-top: 0ex;
    margin-bottom: 1ex;
}
.heading .attribute {
    margin-top: 1ex;
    margin-bottom: 0;
}
.heading .description {
    margin-top: 4ex;
    margin-bottom: 6ex;
}
/* -- css div popup ------------------------------------------------------------------------ */
a.popup_link {
}
a.popup_link:hover {
    color: red;
}
.img{
	height: 100%;
	border-collapse: collapse;
    border: 2px solid #777;
}
.screenshots {
    z-index: 100;
	position:absolute;
	height: 80%;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
	display: none;
}
.imgyuan{
    height: 20px;
    border-radius: 12px;
    background-color: red;
    padding-left: 13px;
    margin: 0 auto;
    position: relative;
    top: -40px;
    background-color: rgba(1, 150, 0, 0.3);
}
.imgyuan font{
    border:1px solid white;
    width:11px; 
    height:11px;
    border-radius:50%;
    margin-right: 9px;
    margin-top: 4px;
    display: block;
    float: left;
    background-color: white;
}
.close_shots {
    background-image: url();
    background-size: 22px 22px;
    -moz-background-size: 22px 22px;
    background-repeat: no-repeat;
    position: absolute;
    top: 5px;
    right: 5px;
    height: 22px;
    z-index: 99;
    width: 22px;
}
.popup_window {
    display: none;
    position: relative;
    left: 0px;
    top: 0px;
    padding: 10px;
    background-color: #E6E6D6;
    font-family: "Lucida Console", "Courier New", Courier, monospace;
    text-align: left;
    font-size: 8pt;
}
}
/* -- report ------------------------------------------------------------------------ */
#show_detail_line {
    margin-top: 3ex;
    margin-bottom: 1ex;
}
#result_table {
    margin: 1em 0;
    width: 100%;
    overflow: hidden;
    background:  #FFF;
    color:  #024457;
    border-radius:   10px;
    border: 1px solid #167F92;
}
#result_table th {
      border: 1px solid #FFFFFF;
      background-color: #167F92;
      color: #FFF;
      padding: 0.5em;
      &:first-child {
        display: table-cell;
        text-align: center;
      }
      &:nth-child(2) {
        display: table-cell;
        span {display:none;}
        &:after {content:attr(data-th);}
      }
      @media (min-width: 480px) {
        &:nth-child(2) {
          span {display: block;}
          &:after {display: none;}
        }
      }
    }
#result_table td {
       word-wrap: break-word;
      max-width: 7em;
      padding: 0.3em;
      &:first-child {
        display: table-cell;
        text-align: center;
      }
      @media (min-width: 400px) {
        border: 1px solid #D9E4E6;
      }
    }
#result_table  th, td {
      margin: .5em 1em;
      @media (min-width: 400px) {
        display: table-cell;
        padding: 1em;
      }
    }
#total_row  { font-weight: bold; }
.passClass  { background-color: #6c6;  !important ;}
.failClass  { background-color: #c60;  !important ;}
.errorClass { background-color: #c00; !important ; }
.passCase   { color: #6c6; }
.failCase   { color: #c60; font-weight: bold; }
.errorCase  { color: #c00; font-weight: bold; }
tr[id^=pt]  td { background-color: rgba(73,204,144,.3) !important ; }
tr[id^=ft]  td { background-color: rgba(252,161,48,.3) !important; }
tr[id^=et]  td { background-color: rgba(249,62,62,.3) !important ; }
.hiddenRow  { display: none; }
.testcase   { margin-left: 2em; }
/* -- ending ---------------------------------------------------------------------- */
#ending {
}
.piechart{  
    position:absolute;  ;
    top:20px;  
    left:300px; 
    width: 200px;
    float: left;
    display:  inline;
}
</style>

</head>
<body>
<script language="javascript" type="text/javascript">
output_list = Array();
/* level - 0:Summary; 1:Failed; 2:All */
function showCase(level) {
    trs = document.getElementsByTagName("tr");
    for (var i = 0; i < trs.length; i++) {
        tr = trs[i];
        id = tr.id;
        if (id.substr(0,2) == 'ft') {
            if (level < 1) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
        if (id.substr(0,2) == 'pt') {
            if (level > 1) {
                tr.className = '';
            }
            else {
                tr.className = 'hiddenRow';
            }
        }
    }
}
function showClassDetail(cid, count) {
    var id_list = Array(count);
    var toHide = 1;
    for (var i = 0; i < count; i++) {
        tid0 = 't' + cid.substr(1) + '.' + (i+1);
        tid = 'f' + tid0;
        tr = document.getElementById(tid);
        if (!tr) {
            tid = 'p' + tid0;
            tr = document.getElementById(tid);
        }
        id_list[i] = tid;
        if (tr.className) {
            toHide = 0;
        }
    }
    for (var i = 0; i < count; i++) {
        tid = id_list[i];
        if (toHide) {
            document.getElementById(tid).className = 'hiddenRow';
        }
        else {
            document.getElementById(tid).className = '';
        }
    }
}
function showTestDetail(div_id){
    var details_div = document.getElementById(div_id)
    var displayState = details_div.style.display
    // alert(displayState)
    if (displayState != 'block' ) {
        displayState = 'block'
        details_div.style.display = 'block'
    }
    else {
        details_div.style.display = 'none'
    }
}
function html_escape(s) {
    s = s.replace(/&/g,'&amp;');
    s = s.replace(/</g,'&lt;');
    s = s.replace(/>/g,'&gt;');
    return s;
}
function drawCircle(pass, fail, error){ 
    var color = ["#6c6","#c60","#c00"];  
    var data = [pass,fail,error]; 
    var text_arr = ["pass", "fail", "error"];
    var canvas = document.getElementById("circle");  
    var ctx = canvas.getContext("2d");  
    var startPoint=0;
    var width = 20, height = 10;
    var posX = 112 * 2 + 20, posY = 30;
    var textX = posX + width + 5, textY = posY + 10;
    for(var i=0;i<data.length;i++){  
        ctx.fillStyle = color[i];  
        ctx.beginPath();  
        ctx.moveTo(112,84);   
        ctx.arc(112,84,84,startPoint,startPoint+Math.PI*2*(data[i]/(data[0]+data[1]+data[2])),false);  
        ctx.fill();  
        startPoint += Math.PI*2*(data[i]/(data[0]+data[1]+data[2]));  
        ctx.fillStyle = color[i];  
        ctx.fillRect(posX, posY + 20 * i, width, height);  
        ctx.moveTo(posX, posY + 20 * i);  
        ctx.font = 'bold 14px';
        ctx.fillStyle = color[i];
        var percent = text_arr[i] + ":"+data[i];  
        ctx.fillText(percent, textX, textY + 20 * i);  
    }
}
function show_img(obj) {
    var obj1 = obj.nextElementSibling
    obj1.style.display='block'
    var index = 0;//每张图片的下标，
    var len = obj1.getElementsByTagName('img').length;
    var imgyuan = obj1.getElementsByClassName('imgyuan')[0]
    //var start=setInterval(autoPlay,500);
    obj1.onmouseover=function(){//当鼠标光标停在图片上，则停止轮播
        clearInterval(start);
    }
    obj1.onmouseout=function(){//当鼠标光标停在图片上，则开始轮播
        start=setInterval(autoPlay,1000);
    }    
    for (var i = 0; i < len; i++) {
        var font = document.createElement('font')
        imgyuan.appendChild(font)
    }
    var lis = obj1.getElementsByTagName('font');//得到所有圆圈
    changeImg(0)
    var funny = function (i) {
        lis[i].onmouseover = function () {
            index=i
            changeImg(i)
        }
    }
    for (var i = 0; i < lis.length; i++) {
        funny(i);
    }
    
    function autoPlay(){
        if(index>len-1){
            index=0;
            clearInterval(start); //运行一轮后停止
        }
        changeImg(index++);
    }
    imgyuan.style.width= 25*len +"px";
    //对应圆圈和图片同步
    function changeImg(index) {
        var list = obj1.getElementsByTagName('img');
        var list1 = obj1.getElementsByTagName('font');
        for (i = 0; i < list.length; i++) {
            list[i].style.display = 'none';
            list1[i].style.backgroundColor = 'white';
        }
        list[index].style.display = 'block';
        list1[index].style.backgroundColor = 'blue';
    }
}
function hide_img(obj){
    obj.parentElement.style.display = "none";
    obj.parentElement.getElementsByClassName('imgyuan')[0].innerHTML = "";
}
</script>
<div class="piechart">
    <div>
        <canvas id="circle" width="350" height="168" </canvas>
    </div>
</div>
<div class='heading'>
<h1>接口自动化报告</h1>
<p class='attribute'><strong>开始时间:</strong> 2020-06-04 14:27:00</p>
<p class='attribute'><strong>耗时:</strong> 0:00:03.689173</p>
<p class='attribute'><strong>状态:</strong> <span class="tj passCase">Pass</span>21</p>

<p class='description'>接口自动化测试报告</p>
</div>


<p id='show_detail_line'>显示
<a href='javascript:showCase(0)'>概要</a>
<a href='javascript:showCase(1)'>失败</a>
<a href='javascript:showCase(2)'>所有</a>
</p>
<table id='result_table'>
<colgroup>
<col align='left' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
</colgroup>
<tr id='header_row'>
    <th>测试组/测试用例</th>
    <th>总数</th>
    <th>通过</th>
    <th>失败</th>
    <th>错误</th>
    <th>视图</th>
    <th>错误截图</th>
</tr>

<tr class='passClass'>
    <td>run_case_ddt.TestRunCaseDdt</td>
    <td>21</td>
    <td>21</td>
    <td>0</td>
    <td>0</td>
    <td><a href="javascript:showClassDetail('c1',21)">详情</a></td>
    <td>&nbsp;</td>
</tr>

<tr id='pt1.1' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_01___doctor_001____正确账号密码登录医生端____yes___None__None___login____post____form______userName___longzhihua147___password___147258______no____no____mec___None___通过______code___200___msg______u64cd__u4f5c__u6210__u529f____data___true___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.1')" >
        通过</a></span>
    <div id='div_pt1.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.1: 执行结果： {'code': 200, 'msg': '操作成功', 'data': True}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.2' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_02___doctor_002____错误账号登录医生端____yes___None__None___login____post____form______userName___longzhihua___password___147258______no____no____mec___None___通过______code___9000___msg______u7528__u6237__u540d__u4e0e__u5bc6__u7801__u4e0d__u5339__u914d____data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.2')" >
        通过</a></span>
    <div id='div_pt1.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.2: 执行结果： {'code': 9000, 'msg': '用户名与密码不匹配', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.3' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_03___doctor_003____错误密码登录医生端____yes___None__None___login____post____form______userName___longzhihua147___password___147258369______no____no____mec___None___通过______code___9000___msg______u7528__u6237__u540d__u4e0e__u5bc6__u7801__u4e0d__u5339__u914d____data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.3')" >
        通过</a></span>
    <div id='div_pt1.3' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.3').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.3: 执行结果： {'code': 9000, 'msg': '用户名与密码不匹配', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.4' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_04___doctor_004____账号为空登录医生端____yes___None__None___login____post____form______userName______password___147258______no____no____mec___None___通过______code___4000___msg______u7528__u6237__u540d__u4e0d__u80fd__u4e3a__u7a7a____data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.4')" >
        通过</a></span>
    <div id='div_pt1.4' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.4').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.4: 执行结果： {'code': 4000, 'msg': '用户名不能为空', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.5' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_05___doctor_005____密码为空登录医生端____yes___None__None___login____post____form______userName___longzhihua147___password_________no____no____code____4000____通过______code___4000___msg______u5bc6__u7801__u4e0d__u80fd__u4e3a__u7a7a____data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.5')" >
        通过</a></span>
    <div id='div_pt1.5' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.5').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.5: 执行结果： {'code': 4000, 'msg': '密码不能为空', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.6' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_06___doctor_006____正确账号密码登录医生端____yes___None__None___login____post____form______userName___longzhihua147___password___147258______write____no____mec___None___通过______code___200___msg______u64cd__u4f5c__u6210__u529f____data___true___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.6')" >
        通过</a></span>
    <div id='div_pt1.6' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.6').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.6: 执行结果： {'code': 200, 'msg': '操作成功', 'data': True}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.7' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_07___doctor_007____查看用户操作日志列表____yes___None__None___userOperateLog_listPage____post____json______page__1__limit__10__name___龙志华___actionName______actionUrl______createTimeStart______createTimeEnd______n____yes____yes____code____200____通过______code___200___msg______u64cd__u4f5c__u6210__u529f____data_____total___8254___list______page___1___limit___25___id____03a6619a_ef52_468f_aaab_bb06566029fa____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____login____actionName______u7528__u6237__u767b__u9646____resultCode___200___resultMsg______u64cd__u4f5c__u6210__u529f____createTime____2020_06_04_14_25_59______page___1___limit___25___id____da445c4d_261b_4623_a130_e45e6ef44fae____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____login____actionName______u7528__u6237__u767b__u9646____resultCode___200___resultMsg______u64cd__u4f5c__u6210__u529f____createTime____2020_06_04_14_25_58______page___1___limit___25___id____11e719a9_a38d_4764_89e6_a719da34111d____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____user_delUser____actionName______u5220__u9664__u7528__u6237____resultCode___200___resultMsg______u64cd__u4f5c__u6210__u529f____createTime____2020_06_04_14_22_13______page___1___limit___25___id____45b798f4_5292_463a_b061_ad3dd23a7f06____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____user_delUser____actionName______u5220__u9664__u7528__u6237____resultCode___200___resultMsg______u64cd__u4f5c__u6210__u529f____createTime____2020_06_04_14_22_13______page___1___limit___25___id____5a502f52_4aaa_4ec5_b206_b5b9ec98d61c____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____user_saveOrUpdateUser____actionName______u65b0__u589eor__u4fee__u6539__u7528__u6237____resultCode___4000___resultMsg_____must_not_be_blank______createTime____2020_06_04_14_22_12______page___1___limit___25___id____6a6670e1_dafc_42a7_8d06_56e4f49155fb____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____user_saveOrUpdateUser____actionName______u65b0__u589eor__u4fee__u6539__u7528__u6237____resultCode___200___resultMsg______u64cd__u4f5c__u6210__u529f____createTime____2020_06_04_14_22_12______page___1___limit___25___id____70a61051_402f_4182_96f7_c60ee1fae588____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____user_saveOrUpdateUser____actionName______u65b0__u589eor__u4fee__u6539__u7528__u6237____resultCode___4000___resultMsg_____must_not_be_blank______createTime____2020_06_04_14_22_12______page___1___limit___25___id____8b052dce_e568_462e_b174_cc475d8d141b____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____user_saveOrUpdateUser____actionName______u65b0__u589eor__u4fee__u6539__u7528__u6237____resultCode___4000___resultMsg_____must_not_be_blank______createTime____2020_06_04_14_22_12______page___1___limit___25___id____99fc197d_7dd3_4fb0_a3d1_9c14fe7c773a____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____user_saveOrUpdateUser____actionName______u65b0__u589eor__u4fee__u6539__u7528__u6237____resultCode___200___resultMsg______u64cd__u4f5c__u6210__u529f____createTime____2020_06_04_14_22_12______page___1___limit___25___id____296af72f_47d1_488b_ae9e_732293589bc7____userName____longzhihua147____name______u9f99__u5fd7__u534e____ip____127_0_0_1____actionUrl_____user_saveOrUpdateUser____actionName______u65b0__u589eor__u4fee__u6539__u7528__u6237____resultCode___4000___resultMsg______u5bc6__u7801__u4e0d__u80fd__u4e3a__u7a7a____createTime____2020_06_04_14_22_11______pageNum___1___pageSize___10___size___10___startRow___1___endRow___10___pages___826___prePage___0___nextPage___2___isFirstPage___true___isLastPage___false___hasPreviousPage___false___hasNextPage___true___navigatePages___8___navigatepageNums____1__2__3__4__5__6__7__8____navigateFirstPage___1___navigateLastPage___8___firstPage___1___lastPage___8____</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.7')" >
        通过</a></span>
    <div id='div_pt1.7' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.7').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.7: 执行结果： {'code': 200, 'msg': '操作成功', 'data': {'total': 8269, 'list': [{'page': 1, 'limit': 25, 'id': '57d0788c-cd2b-4d15-b1be-17066083ead4', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/login', 'actionName': '用户登陆', 'resultCode': 200, 'resultMsg': '操作成功', 'createTime': '2020-06-04 14:27:01'}, {'page': 1, 'limit': 25, 'id': '75f4c782-9b88-4569-a867-a1e9b8a8f965', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/login', 'actionName': '用户登陆', 'resultCode': 200, 'resultMsg': '操作成功', 'createTime': '2020-06-04 14:27:01'}, {'page': 1, 'limit': 25, 'id': '686d0852-496e-473d-985a-535920d2bb0a', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/user/saveOrUpdateUser', 'actionName': '新增or修改用户', 'resultCode': 4000, 'resultMsg': '[must not be blank] ', 'createTime': '2020-06-04 14:26:01'}, {'page': 1, 'limit': 25, 'id': '76c164cd-15e5-416c-86ae-f3eae3243b40', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/user/delUser', 'actionName': '删除用户', 'resultCode': 200, 'resultMsg': '操作成功', 'createTime': '2020-06-04 14:26:01'}, {'page': 1, 'limit': 25, 'id': 'ab827a6e-cfc1-42ac-bd4d-6fb3ae2083f1', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/user/saveOrUpdateUser', 'actionName': '新增or修改用户', 'resultCode': 200, 'resultMsg': '操作成功', 'createTime': '2020-06-04 14:26:01'}, {'page': 1, 'limit': 25, 'id': 'f7ddc3f9-67b8-4529-be0c-22d7b1801c0e', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/user/delUser', 'actionName': '删除用户', 'resultCode': 200, 'resultMsg': '操作成功', 'createTime': '2020-06-04 14:26:01'}, {'page': 1, 'limit': 25, 'id': '004f5280-6ba2-4de7-8691-2fed565b7ecd', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/user/saveOrUpdateUser', 'actionName': '新增or修改用户', 'resultCode': 4000, 'resultMsg': '[must not be blank] ', 'createTime': '2020-06-04 14:26:00'}, {'page': 1, 'limit': 25, 'id': '22ade047-b9b9-4ec9-8f48-82f7704d1046', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/user/saveOrUpdateUser', 'actionName': '新增or修改用户', 'resultCode': 200, 'resultMsg': '操作成功', 'createTime': '2020-06-04 14:26:00'}, {'page': 1, 'limit': 25, 'id': '29a5291a-5bba-4eb9-bee3-4b999d7d9fd8', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/user/saveOrUpdateUser', 'actionName': '新增or修改用户', 'resultCode': 4000, 'resultMsg': '[must not be blank] ', 'createTime': '2020-06-04 14:26:00'}, {'page': 1, 'limit': 25, 'id': '3ec2f620-3d3d-45cc-8e21-abfcd109b532', 'userName': 'longzhihua147', 'name': '龙志华', 'ip': '127.0.0.1', 'actionUrl': '/user/saveOrUpdateUser', 'actionName': '新增or修改用户', 'resultCode': 4000, 'resultMsg': '密码不能为空', 'createTime': '2020-06-04 14:26:00'}], 'pageNum': 1, 'pageSize': 10, 'size': 10, 'startRow': 1, 'endRow': 10, 'pages': 827, 'prePage': 0, 'nextPage': 2, 'isFirstPage': True, 'isLastPage': False, 'hasPreviousPage': False, 'hasNextPage': True, 'navigatePages': 8, 'navigatepageNums': [1, 2, 3, 4, 5, 6, 7, 8], 'navigateFirstPage': 1, 'navigateLastPage': 8, 'firstPage': 1, 'lastPage': 8}}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.8' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_08___doctor_008____新增用户成功____yes___None__None___user_saveOrUpdateUser____post____json______id______name___Test1___departmentCode___120___userName___Test1___pwd___123456___email___123456_qq_com___phone___13800138000___code___86___status__0_____yes____yes____json___200___通过______code___200___msg______u64cd__u4f5c__u6210__u529f____data____cc781d52_5d57_4d05_a0c2_d88e41b0380d____</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.8')" >
        通过</a></span>
    <div id='div_pt1.8' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.8').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.8: 执行结果： {'code': 200, 'msg': '操作成功', 'data': '955433f7-d806-4491-b652-329dde9f4380'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.9' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_09___doctor_009____用户名为空新增用户____yes___None__None___user_saveOrUpdateUser____post____json______id______name______departmentCode___120___userName___Test1___pwd___123456___email___123456_qq_com___phone___13800138000___code___86___status__0_____yes____yes____json___4000___通过______code___4000___msg_____must_not_be_blank______data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.9')" >
        通过</a></span>
    <div id='div_pt1.9' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.9').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.9: 执行结果： {'code': 4000, 'msg': '[must not be blank] ', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.10' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_10___doctor_010____登陆名为空新增用户____yes___None__None___user_saveOrUpdateUser____post____json______id______name___Test2___departmentCode___120___userName______pwd___123456___email___123456_qq_com___phone___13800138000___code___86___status__0_____yes____yes____json___4000___通过______code___4000___msg_____must_not_be_blank______data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.10')" >
        通过</a></span>
    <div id='div_pt1.10' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.10').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.10: 执行结果： {'code': 4000, 'msg': '[must not be blank] ', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.11' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_11___doctor_011____密码为空新增用户____yes___None__None___user_saveOrUpdateUser____post____json______id______name___Test2___departmentCode___120___userName___Test2___pwd______email___123456_qq_com___phone___13800138000___code___86___status__0_____yes____yes____json___4000___通过______code___4000___msg______u5bc6__u7801__u4e0d__u80fd__u4e3a__u7a7a____data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.11')" >
        通过</a></span>
    <div id='div_pt1.11' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.11').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.11: 执行结果： {'code': 4000, 'msg': '密码不能为空', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.12' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_12___doctor_012____角色编码为空新增用户____yes___None__None___user_saveOrUpdateUser____post____json______id______name___Test2___departmentCode___120___userName___Test2___pwd______email___123456_qq_com___phone___13800138000___code__null__status__0_____yes____yes____json___9999___通过______code___4000___msg______u5bc6__u7801__u4e0d__u80fd__u4e3a__u7a7a____data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.12')" >
        通过</a></span>
    <div id='div_pt1.12' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.12').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.12: 执行结果： {'code': 4000, 'msg': '密码不能为空', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.13' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_13___doctor_013____邮箱为空新增用户____yes___None__None___user_saveOrUpdateUser____post____json______id______name___Test2___departmentCode___120___userName___Test2___pwd___123456___email______phone___13800138000___code___86___status__0_____yes____yes____json___4000___通过______code___4000___msg_____must_not_be_blank______data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.13')" >
        通过</a></span>
    <div id='div_pt1.13' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.13').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.13: 执行结果： {'code': 4000, 'msg': '[must not be blank] ', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.14' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_14___doctor_014____手机号为空新增用户____yes___None__None___user_saveOrUpdateUser____post____json______id______name___Test2___departmentCode___120___userName___Test2___pwd___123456___email___123456_qq_com___phone______code___86___status__0_____yes____yes____json___4000___通过______code___4000___msg_____must_not_be_blank______data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.14')" >
        通过</a></span>
    <div id='div_pt1.14' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.14').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.14: 执行结果： {'code': 4000, 'msg': '[must not be blank] ', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.15' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_15___doctor_015____部门编号为空新增用户____yes___None__None___user_saveOrUpdateUser____post____json______id______name___Test2___departmentCode______userName___Test2___pwd___123456___email___123456_qq_com___phone___13800138000___code___86___status__0_____yes____yes____json___4000___通过______code___4000___msg_____must_not_be_blank______data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.15')" >
        通过</a></span>
    <div id='div_pt1.15' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.15').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.15: 执行结果： {'code': 4000, 'msg': '[must not be blank] ', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.16' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_16___doctor_016____新增禁用用户成功____yes___None__None___user_saveOrUpdateUser____post____json______id______name___Test2___departmentCode___120___userName___Test2___pwd___123456___email___123456_qq_com___phone___13800138000___code___86___status__1_____yes____yes____json___200___通过______code___200___msg______u64cd__u4f5c__u6210__u529f____data____3a5c15a1_0fdc_4d1f_8402_605f23d9a6f9____</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.16')" >
        通过</a></span>
    <div id='div_pt1.16' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.16').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.16: 执行结果： {'code': 200, 'msg': '操作成功', 'data': 'c7fcdf01-b168-4e23-a7f9-13082b5a0996'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.17' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_17___doctor_017____编辑用户成功____yes____doctor_008_data____id____user_saveOrUpdateUser____post____form______id______name___Test3___departmentCode___120___userName___Test1___pwd___123456___email___123456_qq_com___phone___13800138000___code___86___status__0_____yes____yes____code____200____通过______code___200___msg______u64cd__u4f5c__u6210__u529f____data____cc781d52_5d57_4d05_a0c2_d88e41b0380d____</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.17')" >
        通过</a></span>
    <div id='div_pt1.17' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.17').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.17: 执行结果： {'code': 200, 'msg': '操作成功', 'data': '955433f7-d806-4491-b652-329dde9f4380'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.18' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_18___doctor_018____编辑用户手机号为空____yes____doctor_008_data____id____user_saveOrUpdateUser____post____form______id______name___修改接口___departmentCode___120___userName___Test1___pwd___123456___email___123456_qq_com___phone______code___86___status__0_____yes____yes____code____4000____通过______code___4000___msg_____must_not_be_blank______data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.18')" >
        通过</a></span>
    <div id='div_pt1.18' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.18').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.18: 执行结果： {'code': 4000, 'msg': '[must not be blank] ', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.19' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_19___doctor_019____删除激活状态用户____yes____doctor_008_data____id____user_delUser____post____form______id_________yes____no____code____200____通过______code___200___msg______u64cd__u4f5c__u6210__u529f____data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.19')" >
        通过</a></span>
    <div id='div_pt1.19' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.19').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.19: 执行结果： {'code': 200, 'msg': '操作成功', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.20' class='hiddenRow'>
    <td ><div class='testcase'>test_main_case_20___doctor_020____删除禁用状态用户____yes____doctor_016_data____id____user_delUser____post____form______id_________yes____no____code____200____通过______code___200___msg______u64cd__u4f5c__u6210__u529f____data___null___</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <span class='status passCase'>
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.20')" >
        通过</a></span>
    <div id='div_pt1.20' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.20').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.20: 执行结果： {'code': 200, 'msg': '操作成功', 'data': None}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td>无截图</td>
</tr>

<tr id='pt1.21' class='hiddenRow'>
    <td><div class='testcase'>test_main_case_21__None__None__None__None__None__None__None__None__None__None__None__None__None__None__None_</div></td>
    <td colspan='5' align='center'><span class='status passCase'>通过</span></td>
    <td>无截图</td>
</tr>

<tr id='total_row'>
    <th>统计</th>
    <th>21</th>
    <th>21</th>
    <th>0</th>
    <th>0</th>
    <th>&nbsp;</th>
    <th>&nbsp;</th>
</tr>
</table>
<script>
    showCase(1);
    drawCircle(21, 0, 0);
</script>

<div id='ending'>&nbsp;</div>
</body>
</html>
